package org.jeecg.modules.demo.puInvoice.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.demo.advancesReceived.entity.YxAdvancesReceived;
import org.jeecg.modules.demo.puInvoice.entity.InvoiceOrder;
import org.jeecg.modules.demo.puInvoice.entity.PuInvoice;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Description: pu_invoice
 * @Author: jeecg-boot
 * @Date:   2021-12-16
 * @Version: V1.0
 */
public interface PuInvoiceMapper extends BaseMapper<PuInvoice> {

    public String getMaxCode();

    public List<PuInvoice> getList(Page<PuInvoice> page,@Param("puInvoice") PuInvoice puInvoice);

    public PuInvoice getByNumber(@Param("number")String number);

    public List<String> selectByPusNo(@Param("pusNo") String pusNo);

    public boolean insertInvoiceOrder(@Param("invoiceOrder") InvoiceOrder invoiceOrder);

    public InvoiceOrder getInvoiceOrderByNumber(@Param("puInvoice") PuInvoice puInvoice);

    public boolean updateInvoiceOrderByNumber(@Param("invoiceOrder") InvoiceOrder invoiceOrder);

    public InvoiceOrder getInvoiceOrderByOrder(@Param("puInvoice") PuInvoice puInvoice);

    public boolean insetMap(@Param("list")List list);

    public boolean delMap(@Param("str") String str);

    public List<String> getMap(@Param("str")String str);

    public PuInvoice getDataByPoOrder(@Param("str") String str);

    public List<PuInvoice> getDataByNumber(@Param("str") String str);

    public List<PuInvoice> getByPoOrder(@Param("str") String str);

    List<PuInvoice> getBywoNo(String woNo);

    List<PuInvoice> getYkpByPoOrder(String poOrder);

    Map<String, BigDecimal> getNumByOrderAndLX(@Param("str") String str);

    List<PuInvoice> getptfpByPoOrder(String poOrder);
    @InterceptorIgnore(tenantLine = "1")
    List<PuInvoice> getPaymentJob(@Param("parameter") String parameter);

    List<PuInvoice> getPtfp(String woNo);

    List<PuInvoice> getByPusOrder(@Param("str") String str);

    String getDepartId();

    Map<String,Double> getYFData(@Param("str") String str);

    List<YxAdvancesReceived> getYfByPoOrder(@Param("str") String str);
}
